$x = 3 + 2 * 8 - 2 ** 3; echo $x; // 11在程式裡最常做的事之一就是數學運算
來看看 PHP 運算時常會用到的東西吧
a = b + c
| 算數運算子 | 說明 | 用法 | 
|---|---|---|
+ | 
相加 | x + y | 
- | 
相減 | x − y | 
* | 
相乘 | x * y | 
/ | 
相除 | x / y | 
% | 
取餘數 | x % y | 
** | 
指數運算 | x ** y | 
$x = 5;
$y = 3;
echo $x + $y, "\n";  // 8
echo $x - $y, "\n";  // 2
echo $x * $y, "\n";  // 15
echo $x / $y, "\n";  // 1.66
echo $x % $y, "\n";  // 2
echo $x ** $y, "\n"; // 125
| 賦值運算子 | 說明 | 用法 | 
|---|---|---|
= | 
賦值 | x = y | 
+= | 
相加並賦值 | x += y | 
-= | 
相減並賦值 | x −= y | 
*= | 
相乘並賦值 | x ∗= y | 
/= | 
相除並賦值 | x /= y | 
%= | 
取餘數並賦值 | x %= y | 
**= | 
指數運算並賦值 | x **= y | 
$x = 5;
$x += 3;
echo $x, "\n"; // 8
$x -= 2;
echo $x, "\n"; // 6
$x *= 6;
echo $x, "\n"; // 36
$x /= 4;
echo $x, "\n"; // 9
$x %= 5;
echo $x, "\n"; // 4
$x **= 2;
echo $x, "\n"; // 16
| 比較運算子 | 說明 | 用法 | 
|---|---|---|
== | 
相等(值) | x == y | 
!= | 
不相等(值) | x != y | 
=== | 
相等(型別 and 值) | x === y | 
!== | 
不相等(型別 or 值) | x !== y | 
< | 
小於 | x < y | 
> | 
大於 | x > y | 
>= | 
大於 or 等於 | x >= y | 
<= | 
小於 or 等於 | x <= y | 
<> | 
大於 or 小於 | x <> y | 
<=> | 
小於返回 -1, 等於返回 0, 大於返回 1 | x <=> y | 
var_dump(1 == '1');  // bool(true)
var_dump(1 != '1');  // bool(false)
var_dump(1 === '1'); // bool(false)
var_dump(1 !== '1'); // bool(true)
var_dump(2 < 3);     // bool(true)
var_dump(2 > 3);     // bool(false)
var_dump(2 >= 2);    // bool(true)
var_dump(2 <= '2');  // bool(true)
var_dump(2 <> 3);    // bool(true)
var_dump(2 <=> 3);   // int(-1)
| 遞增/遞減運算子 | 說明 | 
|---|---|
++$x | 
先遞增 | 
$x++ | 
後遞增 | 
--$x | 
先遞減 | 
$x-- | 
後遞減 | 
$a = 1;
$b = $a++;
echo $a, "\n"; // 2
echo $b, "\n"; // 1
$a = 1;
$b = ++$a;
echo $a, "\n"; // 2
echo $b, "\n"; // 2
| 函式 | 說明 | 用法 | 
|---|---|---|
abs() | 
取絕對值 | `abs(int | 
ceil() | 
向上取整 | `ceil(int | 
floor() | 
向下取整 | `floor(int | 
round() | 
四捨五入 | `round(int | 
max() | 
取最大值 | max(mixed $value, mixed ...$values): mixed | 
min() | 
取最小值 | min(mixed $value, mixed ...$values): mixed | 
pow() | 
計算次方 | `pow(mixed $num, mixed $exponent): int | 
echo abs(-3), "\n";      // 3
echo ceil(2.4), "\n";    // 3
echo floor(2.5), "\n";   // 2
echo round(2.4), "\n";   // 2
echo round(2.5), "\n";   // 3
echo ceil(-0.6), "\n";   // -0
echo floor(-0.4), "\n";  // -1
echo round(-0.4), "\n";  // -0
echo round(-0.5), "\n";  // -1
echo max(2,8,5,7), "\n"; // 8
echo min(2,8,5,7), "\n"; // 2
echo pow(2,8), "\n";     // 256
所有數學函式:
https://www.php.net/manual/en/ref.math.php
rand(int $min, int $max): int
mt_rand(int $min, int $max): int
在 php >= 7.1,rand mt_rand 兩者是相等的
返回 0 ~ mt_getrandmax() 的整數,在 max < min 時返回 false
echo rand(), "\n";                   // 0 ~ 2147483647
echo rand() / mt_getrandmax(), "\n"; // 0 ~ 1
echo rand(5, 15), "\n";              // 5 ~ 15